package 链表.easy;

import java.util.Stack;

/**
 * @author Lw中
 * @date 2020/10/10 7:37
 */
public class BaLuQi {

    public class ListNode {
       int val;
       ListNode next;
       ListNode(int x) { val = x; }
    }

    /**
     * 方法一：使用遍历
     * 方法二：使用单指针
     * */

    /**
     * 链表中节点的位置
     * 方法三：使用快慢指针，慢指针每次走一步，快指针每次走两步
     * @param head
     * @return
     */
    public ListNode middleNode(ListNode head) {
        ListNode slow = head;
        ListNode fast = head;
        while (fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
        }
        return slow;
    }

    public static void main(String[] args) {

    }

}
